package com.ccp.dev.workflow.model;

import com.ccp.dev.core.basic.model.BaseModel;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;

import java.util.Date;

/**
 * ClassDescribe    流程抄送转发 Model对象
 * @author: fanruiqi
 * Date: 2019-09-26
 * Since:1
 * To change this template use File | Settings | File Templates.
 */
public class ProcessCopyTo extends BaseModel<ProcessCopyTo> {
    /**表示已读 =1*/
    public final static Short READ = 1;
    /**表示未读=0*/
    public final static Short NOT_READ = 0;

    /**抄送  在任务处理时，可以指定抄送人员进行任务抄送转发*/
    public static Short CPTYPE_COPY = 1;
    /**转发  在流程归档后，进行转发处理*/
    public static Short CPTYPE_SEND = 2;

    /**
     * 抄送主键ID
     */
    protected String  copyId;
    /**
     * ACT流程实例ID
     */
    protected String  procInstId;
    /**
     * PRO流程实例ID
     */
    protected String  runId;
    /**
     * 发送人ID
     */
    protected String  sendUId;
    /**
     * 发送人名
     */
    protected String  sendUName;
    /**
     * 抄送人ID
     */
    protected String  ccUId;
    /**
     * 抄送人名
     */
    protected String  ccUName;
    /**
     * 抄送时间
     */
    protected java.util.Date  ccTime;
    /**
     * 是否已阅 0=未读 1=已读
     */
    protected Short  isRead;
    /**
     * 填写意见
     */
    protected String  fillOpinion;
    /**
     * 流程标题
     */
    protected String  subject;
    /**
     * 阅读时间
     */
    protected java.util.Date  readTime;
    /**
     * 1=抄送  在任务处理时，可以指定抄送人员进行任务抄送转发
     * 2=转发  在流程归档后，进行转发处理
     */
    protected Short  cpType;
    /**
     * 发起人ID
     */
    protected String createId;
    /**
     * 发起人名
     */
    protected String creator;
    /**
     * 流程定义类型ID
     */
    protected String defTypeId;

    /**
     * 组织名
     */
    protected String orgName;
    /**
     * 岗位名
     */
    protected String posName="";
    /**
     * 创建时间
     */
    protected Date createTime ;

    public void setCopyId(String copyId)
    {
        this.copyId = copyId;
    }
    /**
     * 返回 抄送主键ID
     * @return
     */
    public String getCopyId()
    {
        return this.copyId;
    }
    public void setProcInstId(String procInstId)
    {
        this.procInstId = procInstId;
    }
    /**
     * 返回 ACT流程实例ID
     * @return
     */
    public String getProcInstId()
    {
        return this.procInstId;
    }
    public void setRunId(String runId)
    {
        this.runId = runId;
    }
    /**
     * 返回 PRO流程实例ID
     * @return
     */
    public String getRunId()
    {
        return this.runId;
    }
    public void setSendUId(String sendUId)
    {
        this.sendUId = sendUId;
    }
    /**
     * 返回 发送人ID
     * @return
     */
    public String getSendUId()
    {
        return this.sendUId;
    }
    public void setSendUName(String sendUName)
    {
        this.sendUName = sendUName;
    }
    /**
     * 返回 发送人名
     * @return
     */
    public String getSendUName()
    {
        return this.sendUName;
    }
    public void setCcUId(String ccUId)
    {
        this.ccUId = ccUId;
    }
    /**
     * 返回 抄送人名ID
     * @return
     */
    public String getCcUId()
    {
        return this.ccUId;
    }
    public void setCcUName(String ccUName)
    {
        this.ccUName = ccUName;
    }
    /**
     * 返回 抄送人名
     * @return
     */
    public String getCcUName()
    {
        return this.ccUName;
    }
    public void setCcTime(java.util.Date ccTime)
    {
        this.ccTime = ccTime;
    }
    /**
     * 返回 抄送时间
     * @return
     */
    public java.util.Date getCcTime()
    {
        return this.ccTime;
    }
    public void setIsRead(Short isRead)
    {
        this.isRead = isRead;
    }
    /**
     * 返回 是否已阅 0=未读 1=已读
     * @return
     */
    public Short getIsRead()
    {
        return this.isRead;
    }
    public void setFillOpinion(String fillOpinion)
    {
        this.fillOpinion = fillOpinion;
    }
    /**
     * 返回 填写意见
     * @return
     */
    public String getFillOpinion()
    {
        return this.fillOpinion;
    }
    public void setSubject(String subject)
    {
        this.subject = subject;
    }
    /**
     * 返回 流程标题
     * @return
     */
    public String getSubject()
    {
        return this.subject;
    }
    public void setReadTime(java.util.Date readTime)
    {
        this.readTime = readTime;
    }
    /**
     * 返回 阅读时间
     * @return
     */
    public java.util.Date getReadTime()
    {
        return this.readTime;
    }
    public void setCpType(Short cpType)
    {
        this.cpType = cpType;
    }
    /**
     * 返回 1=抄送  在任务处理时，可以指定抄送人员进行任务抄送转发
     *      2=转发  在流程归档后，进行转发处理
     * @return
     */
    public Short getCpType()
    {
        return this.cpType;
    }


    public String getCreateId() {
        return createId;
    }
    public void setCreateId(String createId) {
        this.createId = createId;
    }
    public String getCreator() {
        return creator;
    }
    public void setCreator(String creator) {
        this.creator = creator;
    }
    public String getDefTypeId() {
        return defTypeId;
    }
    public void setDefTypeId(String defTypeId) {
        this.defTypeId = defTypeId;
    }


    public String getOrgName() {
        return orgName;
    }
    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }
    public String getPosName() {
        return posName;
    }
    public void setPosName(String posName) {
        this.posName = posName;
    }

    public Date getCreatetime() {
        return createTime;
    }
    public void setCreatetime(Date createtime) {
        this.createTime = createtime;
    }
    /**
     * @see java.lang.Object#equals(Object)
     */
    @Override
    public boolean equals(Object object)
    {
        if (!(object instanceof ProcessCopyTo))
        {
            return false;
        }
        ProcessCopyTo rhs = (ProcessCopyTo) object;
        return new EqualsBuilder()
                .append(this.copyId, rhs.copyId)
                .append(this.procInstId, rhs.procInstId)
                .append(this.runId, rhs.runId)
                .append(this.sendUId, rhs.sendUId)
                .append(this.sendUName, rhs.sendUName)
                .append(this.ccUId, rhs.ccUId)
                .append(this.ccUName, rhs.ccUName)
                .append(this.ccTime, rhs.ccTime)
                .append(this.isRead, rhs.isRead)
                .append(this.fillOpinion, rhs.fillOpinion)
                .append(this.subject, rhs.subject)
                .append(this.readTime, rhs.readTime)
                .append(this.cpType, rhs.cpType)
                .isEquals();
    }

    /**
     * @see java.lang.Object#hashCode()
     */
    @Override
    public int hashCode()
    {
        return new HashCodeBuilder(-82280557, -700257973)
                .append(this.copyId)
                .append(this.procInstId)
                .append(this.runId)
                .append(this.sendUId)
                .append(this.sendUName)
                .append(this.ccUId)
                .append(this.ccUName)
                .append(this.ccTime)
                .append(this.isRead)
                .append(this.fillOpinion)
                .append(this.subject)
                .append(this.readTime)
                .append(this.cpType)
                .toHashCode();
    }

    /**
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString()
    {
        return new ToStringBuilder(this)
                .append("copyId", this.copyId)
                .append("procInstId", this.procInstId)
                .append("runId", this.runId)
                .append("sendUId", this.sendUId)
                .append("sendUName", this.sendUName)
                .append("ccUId", this.ccUId)
                .append("ccUName", this.ccUName)
                .append("ccTime", this.ccTime)
                .append("isRead", this.isRead)
                .append("fillOpinion", this.fillOpinion)
                .append("subject", this.subject)
                .append("readTime", this.readTime)
                .append("cpType", this.cpType)
                .toString();
    }



}
